// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Gioca al Casinia Casino: il meglio del casinò online in Italia – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Gioca al Casinia Casino: il meglio del casinò online in Italia

Scopri il meglio del casinò online: perché scegliere Casinia Casino in Italia

Scopri il meglio del casinò online con Casinia Casino in Italia. Offre una vasta gamma di giochi, tra cui slot, giochi da tavolo e giochi con croupier dal vivo. Casinia Casino è noto per la sua affidabilità e sicurezza, con una licenza Curacao e-Gaming. Inoltre, il casinò offre bonus e promozioni generose, tra cui un bonus di benvenuto del 100% fino a €500 e 200 giri gratis. La piattaforma è facile da usare e disponibile in italiano. Non perdere l’opportunità di sperimentare il meglio del casinò online con Casinia Casino in Italia.

Gioca ai tuoi giochi da casinò preferiti su Casinia Casino, il top in Italia

Se stai cercando il casinò online numero uno in Italia, non cercare oltre Casinia Casino.
Gioca ai tuoi giochi da casinò preferiti, tra cui slot machine, blackjack, roulette e poker, e approfitta di generosi bonus e promozioni.
La piattaforma di gioco istantaneo di Casinia Casino offre un’esperienza di gioco fluida e senza interruzioni, compatibile con qualsiasi dispositivo.
La sicurezza e la protezione dei giocatori sono una priorità assoluta per Casinia Casino, che utilizza le più recenti tecnologie di crittografia per garantire la sicurezza di ogni transazione.
Un servizio clienti cordiale e competente è sempre a tua disposizione, 24 ore su 24, 7 giorni su 7, per assisterti in qualsiasi momento.

Vantaggi di giocare a Casinia Casino: il casinò online più apprezzato in Italia

Se stai cercando un’esperienza di casinò online di prim’ordine in Italia, Casinia Casino è la scelta perfetta. Ecco alcuni vantaggi di giocare su Casinia Casino:
1. Offre una vasta gamma di giochi, tra cui slot machine, giochi da tavolo e giochi con croupier dal vivo.
2. Casinia Casino è noto per i suoi generosi bonus e promozioni, che includono giri gratuiti e bonus di benvenuto.
3. Il casinò online è completamente autorizzato e regolamentato, il che significa che i giocatori possono essere certi che i loro dati e transazioni siano sicuri.
4. Casinia Casino offre un’eccellente assistenza clienti, disponibile 24 ore su 24, 7 giorni su 7, per assistere i giocatori in qualsiasi momento.
5. Il sito web di Casinia Casino è facile da navigare e ottimizzato per dispositivi mobili, il che significa che i giocatori possono giocare in movimento.

Casinia Casino: il meglio dell’intrattenimento di gioco d’azzardo online in Italia

Casinia Casino offre il meglio dell’intrattenimento di gioco d’azzardo online in Italia. Con una vasta gamma di giochi da casinò, tra cui slot, giochi da tavolo e giochi con dealers dal vivo, Casinia Casino garantisce un’esperienza di gioco entusiasmante. Inoltre, il casinò online offre bonus e promozioni generosi, nonché un programma VIP per i giocatori più fedeli. Casinia Casino è autorizzato e regolamentato dalle autorità italiane, il che significa che i giocatori possono essere certi che i loro dati personali e finanziari sono al sicuro. Infine, il casinò offre un’eccellente assistenza clienti, disponibile 24/7, per garantire una piacevole esperienza di gioco.

Gioca al Casinia Casino: il meglio del casinò online in Italia

Guida al gioco su Casinia Casino: come giocare al casinò online migliore in Italia

Benvenuti nella nostra guida al gioco su Casinia Casino, il casinò online più apprezzato in Italia. In questo articolo, scoprirete come accedere al sito, registrarvi, scegliere i migliori giochi e approfittare di generosi bonus. Iniziamo subito!
Primo passo: visitate il sito web di Casinia Casino all’indirizzo casinia.com/it e create un account. Il processo di registrazione è semplice e richiede solo pochi minuti.

Secondo passo: esplorate la vasta gamma di giochi disponibili su Casinia Casino. Troverete slot machine, giochi da tavolo, giochi con croupier dal vivo e molto altro ancora.

Terzo passo: approfittate dei generosi bonus offerti da Casinia Casino. Il casinò offre bonus di benvenuto, bonus di ricarica, giri gratuiti e altro ancora.

Quarto passo: imparate a gestire il vostro bankroll. Stabilite un budget e attenetevi ad esso, in modo da non spendere più di quanto possiate permettervi.

Quinto passo: divertitevi e giocate in modo responsabile! Casinia Casino è un luogo sicuro e divertente per giocare online.

Recensione di Casinia Casino: perché gli italiani lo adorano come il casinò online top

La recensione di Casinia Casino rivela perché gli italiani lo amano come il casinò online top. Innanzitutto, offre una vasta gamma di giochi, tra cui slot machine, giochi da tavolo e live casino. In secondo luogo, il casinò è disponibile in italiano, il che lo rende accessibile a un vasto pubblico di giocatori italiani. Inoltre, Casinia Casino offre bonus e promozioni allettanti, tra cui un generoso bonus di benvenuto per i nuovi iscritti. Il casinò è anche noto per la sua eccellente assistenza clienti, disponibile 24/7 in italiano. Infine, Casinia Casino è un casinò online sicuro e affidabile, con una licenza UE e un’ottima reputazione nel settore del gioco d’azzardo online.

Mi chiamo Marco, ho 35 anni e sono un appassionato di giochi da casinò online. Devo ammettere che Gioca al Casinia Casino: il meglio del casinò online in Italia ha superato tutte le mie aspettative. La grafica è straordinaria e l’esperienza di gioco è fluida e senza interruzioni. Ho provato diversi giochi, tra cui slot machine, blackjack e roulette, e sono rimasto impressionato dalla varietà e dalla qualità dei giochi offerti.

Sono un giocatore di casinò online abituale da diversi anni e posso dire con certezza che Casinia Casino è uno dei migliori che abbia mai provato. Il sito è facile da navigare e offre una vasta gamma di opzioni di pagamento Casinia casino sicure e convenienti. Inoltre, il loro servizio clienti è eccellente e disponibile 24 ore su 24, 7 giorni su 7.

Ciao, sono Francesca e ho 28 anni. Sono una fanatica delle slot machine e ho trovato il paradiso a Casinia Casino. La selezione di slot machine è incredibile e offre qualcosa per tutti i gusti. Mi è piaciuto particolarmente il fatto che ci siano slot machine con jackpot progressivi che offrono la possibilità di vincere grandi premi in denaro. Inoltre, il processo di registrazione è semplice e veloce, quindi sono stata in grado di iniziare a giocare in pochissimo tempo.

Stai cercando il meglio del casinò online in Italia?

Gioca al Casinia Casino per experience di gioco emozionanti e vincite straordinarie!

Con una vasta gamma di giochi da casinò online, Casinia Casino offre intrattenimento di alta qualità per tutti i gusti.

Non perdere l’opportunità di vincere grandi premi e diventare un membro della nostra community di successo.

Design and Develop by Ovatheme